home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 283_01 / readme.doc < prev    next >
Text File  |  1988-12-15  |  7KB  |  132 lines

  1.  
  2. FAFNIR, Version 1.0
  3. September 11, 1988, David C. Oshel
  4.  
  5.            Original release.
  6.  
  7. FAFNIR, Version 3.0
  8. December 18, 1988, David C. Oshel
  9.  
  10. Purpose:   A general-purpose forms engine for data entry, with unlimited
  11.            data types, but standard field types are predefined as macros;
  12.            i.e., TEXT, DOLLAR, DATE, PHONE, SSN, DISPLAY, VIRTUAL, etc.
  13.  
  14.            This is a C programmer's tool, distributed as source code.
  15.  
  16.            The forms engine is a standard table-driven (C structure)
  17.            general-purpose routine, with slots for pointers to field
  18.            initialization, character validation, and field validation 
  19.            functions, plus default field contents.  The macros defined
  20.            in FAFNIR.H practically eliminate "essential details" micro-
  21.            management, by providing the programmer with standard types
  22.            and bullet-proof, automatic attention to structure syntax.
  23.  
  24.            The graininess of standard types varies from YESNO, which
  25.            requires field name and x and y location of the field, to
  26.            FIELD, which accepts/requires ALL parameters for total
  27.            "free form" field type definition.
  28.  
  29.            The engine uses dynamic allocation, but there is a tradeoff
  30.            in favor of programmer's peace of mind; the field names are
  31.            declared as type char *, and take up external storage to the
  32.            tune of number of fields times sizeof(char *).  Fields must
  33.            be allocated before use, and data must be transferred from
  34.            fields to file before the allocation is released.  You get
  35.            the not-so-primitives, the rest is a breeze.
  36.  
  37.            Of course, the engine is still not as feature-loaded as most
  38.            of the better commercial forms packages, but it covers 99% of
  39.            the average end-user's data entry needs.
  40.  
  41.            Portability:  Screen and keyboard i/o source code is provided;
  42.            the engine runs all it's i/o through the CIAO library defined
  43.            in the FAFNIR make script.  On a decent operating system, the
  44.            whole i/o package could be replaced by macros, but we will
  45.            probably never see that ideal universe in our lifetimes.  In
  46.            the meantime, this is as close as you'll get to Elysian Fields
  47.            and Forms Nirvana on plain ol' practical Earth.
  48.  
  49. Do this:   C>MAKEIT.BAT
  50.  
  51. Produces:  FAFNIR4L.LIB  - all i/o and forms editing, in LARGE model 
  52.            FAFNIR.EXE    - program to test and demonstrate a 2-page form
  53.  
  54.            Executables, header files and pre-compiled: FAFNIR4x.LIB (Large
  55.            & Small) are included in the distribution, plus the magic macro 
  56.            header file, FAFNIR.H.  The demonstrations, and ES.EXE, a 
  57.            primitive screen editor, are included as pre-compiled executables.
  58.  
  59. Requires:  Microsoft C version 5.00, plus the standard MSC utilities
  60.            Microsoft Assembler (MASM) version 5.1 (two modules only)
  61.            MS-DOS 2.0
  62.            100% IBM PC-XT compatible screen RAM and ROM BIOS (but see
  63.            the Portability discussion, above)
  64.  
  65. Assumes:   Hard disk.
  66.  
  67.            You should have your compiler installed, and PATH and environment
  68.            variables for MS C compilation established.  MAKEIT.BAT assumes 
  69.            the total development environment is ready to go, including MAKE,
  70.            LINK and LIB for use with MASM 5.1 and MS C 5.0 or better.
  71.            
  72.  
  73. Distributed:
  74.  
  75. Filename        Description
  76. --------        -----------------
  77. CIAO.H          Header file for screen & keyboard i/o, utilities, macros
  78. CLAIROL.C       Module lets users decide screen colors
  79. COUNTIES.C      Scrollbar menu returns IOWA D.O.T county code from list 
  80. CRYPT.C         Hogg's Code encryption, decryption 
  81. CVIDEO.C        Low-level screen i/o, see MSJ 11/1988, p. 1
  82. DEMO.C          FAFNIR.EXE source code, demonstrates a 2-page form 
  83. DEMO4L.EXE      Demonstrate Fafnir forms i/o, large model
  84. DEMO4S.EXE      Demonstrate Fafnir forms i/o, small model
  85. DLRCVT.C        Convert dollar long int to dollar formatted string
  86. ES.C            Source code for a simple screen file editor (see KEYS.ASM)
  87. ES.EXE          Executable screen file editor (MS-DOS 2.0, Small Model) 
  88. FAF1.S          Screen file for FAFNIR.EXE demo, page 1 of 2
  89. FAF2.S          Screen file for FAFNIR.EXE demo, page 2 of 2 
  90. FAFNIR          Make script for compiling Fafnir libraries & programs 
  91. FAFNIR.C        Source code for Elysian Fields and page editors
  92. FAFNIR.DOC      Reasonably accurate description of Fafnir, with history
  93. FAFNIR.H        Magic macros for Forms Nirvana, plus globals, etc.
  94. FAFNIR4L.LIB    Large model library, contains all object code listed here
  95. FAFNIR4L.XRF       cross-reference listing for .LIB, above 
  96. FAFNIR4S.LIB    Small model library, contains all object code listed here
  97. FAFNIR4S.XRF       cross-reference listing for .LIB, above
  98. FSTATS.C        Source code, routine finds MS-DOS file size
  99. GOTOXY.C        Direct screen RAM and/or hardware gotoxy function
  100. JDEMO4L.EXE     Prove out MSJ direct video routines, large model
  101. JDEMO4S.EXE     Prove out MSJ direct video routines, small model
  102. JULDAY.C        Julian day number, day of week (after Carley Phillips) 
  103. JULIAN.C        Astronomical version, returns double float, not long
  104. KEYDEFS.C       A menu routine, displays Fn keys w/descriptions, you pick 
  105. KEYIN.C         Wait for keypress with background function 
  106. KEYS.ASM        Assembler keyin routine for ES.EXE screen editor (Small) 
  107. KEYS.H          Header file describes IBM PC extended key codes 
  108. LVIDEO.ASM      Small Model, MASM 5.1 assembler direct video i/o
  109. MAKEIT.BAT      *** BUILD FAFNIR4x.LIB ***  Run this if MS C 5.0 installed.
  110. MSJDEMO.C       Demo from MicroSoft Systems Journal, Nov. 88 (modified)
  111. OLDEDITS.C      Some obsolete line editing fns, still useful sometimes 
  112. README.DOC      (you are!)
  113. SAVESCRN.C      Save current text screen, window, cursor
  114. SCROLL.C        Direct video, scroll region up or down one line
  115. SOUND.C         Standard sound effects and IBM PC tone generation primitives 
  116. SVIDEO.ASM      Small Model, MASM 5.1 assembler direct video i/o
  117. SWAPSCRN.C      Seldom used swap visible with hidden screen buffer 
  118. TM.C            Time and date routines
  119. TYPEAFIL.C      Read text file from disk and display in window, w/ PgUp 
  120. USSTATES.C      Scrollbar menu returns 2-letter U.S. State abbrv. from list 
  121. VIDEO.H         Header file for LVIDEO and CVIDEO routines
  122. VIDINIT.C       Minimum "must link" initialization for screen i/o
  123. VIDINIT.H       Header file for all CIAO screen i/o routines 
  124. WBOX.C          Draws a box and establishes window inside it 
  125. WINDOW.C        Window dimension routines 
  126. WINK.C          Character out inside window routine 
  127. WPRINTF.C       printf inside a window, with video attribute escape codes 
  128. WPUTS.C         puts inside a window, interprets video attrib. escape codes
  129.  
  130. End of descriptions.
  131.  
  132.